package com.zch.application;

/*
    父类又叫超类，基类
    子类又叫派生类
 */
public class Student extends Person {

    public Student() {
        //隐藏调用了父类的无参构造,且调用必须放在第一条语句
        super();
        System.out.println("S无参构造");
    }

    public void print() {
        System.out.println("com.zch.application.Student");
    }

    public void test1(String name) {
        System.out.println(name);
        System.out.println(this.name); //类中一个自身对象的引用的属性，只在非静态的方法中使用
        System.out.println(super.name); //父类对象的引用，只在非静态的方法中使用
    }

    public void test2() {
        print();
        this.print();
        super.print();
    }

    public void eat() {
        System.out.println("学生在吃");
    }

    //父类的功能子类不一定需要或者不一定满足，所以要方法重写
    @Override
    public void run() {
        System.out.println("学生在跑");
    }
    //无法重写的类型：static（属于类），final（常量），private，构造器

}
